class XmpNamespaces {
  static const acdsee = 'http://ns.acdsee.com/iptc/1.0/';
  static const adsmlat = 'http://adsml.org/xmlns/';
  static const appleDepthData = 'http://ns.apple.com/depthData/1.0/';
  static const appleDesktop = 'http://ns.apple.com/namespace/1.0/';
  static const appleHDRGainMap = 'http://ns.apple.com/HDRGainMap/1.0/';
  static const applePixelDataInfo = 'http://ns.apple.com/pixeldatainfo/1.0/';
  static const avm = 'http://www.communicatingastronomy.org/avm/1.0/';
  static const camera = 'http://pix4d.com/camera/1.0/';
  static const cc = 'http://creativecommons.org/ns#';
  static const creatorAtom = 'http://ns.adobe.com/creatorAtom/1.0/';
  static const crd = 'http://ns.adobe.com/camera-raw-defaults/1.0/';
  static const crlcp = 'http://ns.adobe.com/camera-raw-embedded-lens-profile/1.0/';
  static const crs = 'http://ns.adobe.com/camera-raw-settings/1.0/';
  static const crss = 'http://ns.adobe.com/camera-raw-saved-settings/1.0/';
  static const darktable = 'http://darktable.sf.net/';
  static const dc = 'http://purl.org/dc/elements/1.1/';
  static const dcterms = 'http://purl.org/dc/terms/';
  static const dicom = 'http://ns.adobe.com/DICOM/';
  static const digiKam = 'http://www.digikam.org/ns/1.0/';
  static const droneDji = 'http://www.dji.com/drone-dji/1.0/';
  static const dwc = 'http://rs.tdwg.org/dwc/index.htm';
  static const dwciri = 'http://rs.tdwg.org/dwc/iri/';
  static const exif = 'http://ns.adobe.com/exif/1.0/';
  static const exifAux = 'http://ns.adobe.com/exif/1.0/aux/';
  static const exifEx = 'http://cipa.jp/exif/1.0/';
  static const fstop = 'http://www.fstopapp.com/xmp/';
  static const gAudio = 'http://ns.google.com/photos/1.0/audio/';
  static const gCamera = 'http://ns.google.com/photos/1.0/camera/';
  static const gContainer = 'http://ns.google.com/photos/1.0/container/';
  static const gContainerItem = 'http://ns.google.com/photos/1.0/container/item/';
  static const gCreations = 'http://ns.google.com/photos/1.0/creations/';
  static const gDepth = 'http://ns.google.com/photos/1.0/depthmap/';
  static const gDevice = 'http://ns.google.com/photos/dd/1.0/device/';
  static const gDeviceCamera = 'http://ns.google.com/photos/dd/1.0/camera/';
  static const gDeviceContainer = 'http://ns.google.com/photos/dd/1.0/container/';
  static const gDeviceItem = 'http://ns.google.com/photos/dd/1.0/item/';
  static const gFocus = 'http://ns.google.com/photos/1.0/focus/';
  static const gImage = 'http://ns.google.com/photos/1.0/image/';
  static const gPano = 'http://ns.google.com/photos/1.0/panorama/';
  static const gSpherical = 'http://ns.google.com/videos/1.0/spherical/';
  static const gettyImagesGift = 'http://xmp.gettyimages.com/gift/1.0/';
  static const gimp210 = 'http://www.gimp.org/ns/2.10/';
  static const gimpXmp = 'http://www.gimp.org/xmp/';
  static const hdrgm = 'http://ns.adobe.com/hdr-gain-map/1.0/';
  static const illustrator = 'http://ns.adobe.com/illustrator/1.0/';
  static const iptc4xmpCore = 'http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/';
  static const iptc4xmpExt = 'http://iptc.org/std/Iptc4xmpExt/2008-02-29/';
  static const lr = 'http://ns.adobe.com/lightroom/1.0/';
  static const mediapro = 'http://ns.iview-multimedia.com/mediapro/1.0/';
  static const miCamera = 'http://ns.xiaomi.com/photos/1.0/camera/';

  // also seen in the wild for prefix `MicrosoftPhoto`: 'http://ns.microsoft.com/photo/1.0'
  static const microsoftPhoto = 'http://ns.microsoft.com/photo/1.0/';
  static const mp1 = 'http://ns.microsoft.com/photo/1.1';
  static const mp = 'http://ns.microsoft.com/photo/1.2/';
  static const mpri = 'http://ns.microsoft.com/photo/1.2/t/RegionInfo#';
  static const mpreg = 'http://ns.microsoft.com/photo/1.2/t/Region#';
  static const mwgrs = 'http://www.metadataworkinggroup.com/schemas/regions/';
  static const nga = 'https://standards.nga.gov/metadata/media/image/artobject/1.0';
  static const opMedia = 'http://ns.oneplus.com/media/1.0/';
  static const panorama = 'http://ns.adobe.com/photoshop/1.0/panorama-profile';
  static const panoStudio = 'http://www.tshsoft.com/xmlns';
  static const pdf = 'http://ns.adobe.com/pdf/1.3/';
  static const pdfX = 'http://ns.adobe.com/pdfx/1.3/';
  static const photoMechanic = 'http://ns.camerabits.com/photomechanic/1.0/';
  static const photoshop = 'http://ns.adobe.com/photoshop/1.0/';
  static const plus = 'http://ns.useplus.org/ldf/xmp/1.0/';
  static const pmtm = 'http://www.hdrsoft.com/photomatix_settings01';
  static const rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
  static const stCamera = 'http://ns.adobe.com/photoshop/1.0/camera-profile';
  static const stEvt = 'http://ns.adobe.com/xap/1.0/sType/ResourceEvent#';
  static const stRef = 'http://ns.adobe.com/xap/1.0/sType/ResourceRef#';
  static const tiff = 'http://ns.adobe.com/tiff/1.0/';
  static const x = 'adobe:ns:meta/';
  static const xmp = 'http://ns.adobe.com/xap/1.0/';
  static const xmpBJ = 'http://ns.adobe.com/xap/1.0/bj/';
  static const xmpDM = 'http://ns.adobe.com/xmp/1.0/DynamicMedia/';
  static const xmpGImg = 'http://ns.adobe.com/xap/1.0/g/img/';
  static const xmpMM = 'http://ns.adobe.com/xap/1.0/mm/';
  static const xmpNote = 'http://ns.adobe.com/xmp/note/';
  static const xmpRights = 'http://ns.adobe.com/xap/1.0/rights/';
  static const xmpTPg = 'http://ns.adobe.com/xap/1.0/t/pg/';
  static const xperiaCamera = 'http://xmlns.sony.net/xperia/camera/1.0/';
}

class XmpElements {
  static const xXmpmeta = 'xmpmeta';
  static const rdfRoot = 'RDF';
  static const rdfDescription = 'Description';
  static const containerDirectory = 'Directory';
  static const dcDescription = 'description';
  static const dcSubject = 'subject';
  static const dcTitle = 'title';
  static const msPhotoRating = 'Rating';
  static const xmpRating = 'Rating';
}

class XmpAttributes {
  static const xXmptk = 'xmptk';
  static const rdfAbout = 'about';
  static const gCameraMicroVideo = 'MicroVideo';
  static const gCameraMicroVideoVersion = 'MicroVideoVersion';
  static const gCameraMicroVideoOffset = 'MicroVideoOffset';
  static const gCameraMicroVideoPresentationTimestampUs = 'MicroVideoPresentationTimestampUs';
  static const gCameraMotionPhoto = 'MotionPhoto';
  static const gCameraMotionPhotoVersion = 'MotionPhotoVersion';
  static const gCameraMotionPhotoPresentationTimestampUs = 'MotionPhotoPresentationTimestampUs';
  static const xmpCreateDate = 'CreateDate';
  static const xmpMetadataDate = 'MetadataDate';
  static const xmpModifyDate = 'ModifyDate';
  static const xmpNoteHasExtendedXMP = 'HasExtendedXMP';
}
